The present invention relates to improved data processing, and more specifically, to method for minimizing impacts on system performance, and overflow conditions in a diagnostic data collection and storage put-away station in a multiprocessor system.
During the development and subsequent general releases of any complex computing system it is useful for debugging purposes to have an amount of information of certain diagnostic operations being performed by the hardware. One method involves collecting the information in a temporary buffer and storing its final temporary or permanent storage location once enough data is collected to fill an entire data transfer packet (line). The diagnostic data is collected in small portions (e.g., a few bytes at a time) such that many of the small data captures must be made before an entire line is accumulated. There are several problems with the current method such as that once the temporary buffer is filled no further data can be captured until the buffer has been read. Using a buffer with a separate read and write interface can alleviate some of this delay, but the majority of the wait time tends to be incurred while waiting for the downstream interfaces and other resources to be available to transfer the line to a target storage location. Another problem with diagnostic data collection in large systems with shared multi-level cache hierarchies is that the capture and put-away of the desired data requires a significant usage of the high bandwidth system fabric busses in order to transfer the data from the various collection points to physical memory where it can be later accessed by software. Often the putting away of the data from certain collection points can alter the information collected at other collection points.